﻿Imports System.Exception

Public Class ComponenteEvaluacion

    Public Overridable Sub Add(ByVal pcomponenteEvaluacion As ComponenteEvaluacion)
        Throw New InvalidOperationException("Operación invalida para un item")
    End Sub

    Public Overridable Sub Remove(ByVal pcomponenteEvaluacion As ComponenteEvaluacion)
        Throw New InvalidOperationException("Operación invalida para un item")
    End Sub

    Public Overridable Function GetChild(ByVal index As String) As ComponenteEvaluacion
        Throw New InvalidOperationException("Operación invalida para un item")
    End Function

    'pregunta si el uso de excepciones dentro del property es correcto
    Public Overridable Property Nombre() As String
        Get
            Throw New InvalidOperationException("Operación invalida")
        End Get
        Set(ByVal value As String)
            Throw New InvalidOperationException("Operación invalida")
        End Set
    End Property

    'pregunta si el uso de excepciones dentro del property es correcto
    Public Overridable Property Porcentaje() As Double
        Get
            Throw New InvalidOperationException("Operación invalida")
        End Get
        Set(ByVal value As Double)
            Throw New InvalidOperationException("Operación invalida")
        End Set
    End Property
    Public Overridable Function CalcularNota() As Double
        Throw New InvalidOperationException("Operación invalida")
    End Function
    Public Overridable Function CalcularRendimiento()
        Throw New InvalidOperationException("Operación invalida")
    End Function

    'pregunta si el uso de excepciones dentro del property es correcto
    Public Overridable Property IdPlan() As Integer
        Get
            Throw New InvalidOperationException("Operación invalida")
        End Get
        Set(ByVal value As Integer)
            Throw New InvalidOperationException("Operación invalida")
        End Set
    End Property

    Public Overridable Property ListaRubros() As List(Of ComponenteEvaluacion)
        Get
            Throw New InvalidOperationException("Operación invalida")
        End Get
        Set(ByVal value As List(Of ComponenteEvaluacion))
            Throw New InvalidOperationException("Operación invalida")
        End Set
    End Property

    Public Overridable Function CalcularPromedio() As Double
        Throw New InvalidOperationException("Operación invalida")
    End Function

End Class
